import os
# 获取系统名称
print(os.name)
# 获取换行符
print(str(os.linesep))
# 获取分割符
print(os.sep)
# os模块
# getcwd() 返回当前工作目录
# listdir(path) 返回当前目录下文件和信息
# mkdir(path[,mode]) 创建目录
# makedirs(path1/path2..[,mode]) 创建多级目录
# rmdir(path) 删除目录
# removedirs(path1/path2..) 删除多级目录
# chdir(path) 把path设置位当前工作目录
# walk(top[,topdown[,onerror]]) -> tuple 遍历目录树 返回一个元组 包括所有路径名、所有目录列表和文件列表三个元素
# os.rename(src, dst) 用于重命名文件或目录 如果dst存在抛出error
# os.path模块
# abspath(path) # 获取文件或目录的绝对路径
# exits(path)   # 判断目录或文件是否存在
# join(path, name)  # 目录与文件名拼接
# splitext()    # 分离文件名和扩展名
# basename(path)    # 从路径提取文件名
# dirname(path) # 提取目录名
# isdir(path)   # 判断是否为目录
def format_time(longtime):
    import time
    return time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(longtime))
def format_byte(number):
    for (scale, label) in [(1024*1024*1024, 'GB'), (1024*1024, 'MB'), (1024, 'KB')]:
        if number >= scale:
            return '%.2f %s' % (number*1.0/scale, label)
        elif number == 1:
            return '1 byte'
        else:
            byte = '%.2f' % (number or 0)
    return (byte[:-3] if byte.endswith('.00') else byte) + ' 字节'
# 获取文件基本信息
fileinfo = os.stat('foo.txt')
print(os.path.abspath('foo.txt'))
print(fileinfo.st_ino)  # 索引
print(fileinfo.st_dev)  # 设备名
print(format_byte(fileinfo.st_size)) # 文件大小
print(format_time(fileinfo.st_atime))   # 最后一次访问
print(format_time(fileinfo.st_mtime))    # 最后一次修改
print(format_time(fileinfo.st_ctime))    # 最后一次状态变化